<?php
class UsersModel{
	
	/*
	public static function get_registred_users_list(){
		$__q_users_registred = "SELECT * FROM ".USERS;
		$__users = tools::__adodb("getAll",$__q_users_registred);
		return $__users;
	}
	*/
	public static function get_registred_users_list($group="all",$page=null,$ilosc_na_strone=10,$zakres_widocznych_stron = 2){
		$limity = '';
		$group_ = ($group=='all') ? "": " WHERE stanowisko IN ({$group}) ";
		$query = "SELECT COUNT(*) FROM ".USERS." {$group_} ";		
		if(($group !='all')){
			$razem =  tools::__adodb('getOne',$query);
			$strona_docelowa = (!is_null($page))?$page:1;
			$limity = ($group !='all') ? tools::_stronicowanie($razem,$strona_docelowa,$ilosc_na_strone,$zakres_widocznych_stron) : "";
		}
		$query = "SELECT * FROM ".USERS." {$group_} ".$limity;
		$result = tools::__adodb('getAll',$query);	
		return $result;		
	}
	
	public static function get_user_info_to_edit($__id){
		$__q_get_user_info = "SELECT * FROM ".USERS." WHERE id = ".tools::__mres($__id);
		$__user = tools::__adodb("getRow",$__q_get_user_info);
		return $__user;
	}
	
	public static function save_update_user(){
		global $config,$dispatcher;
		try{			
			$stanowisko = ($config->__isset('stanowisko') && $config->stanowisko == 'a') ? 'a' : $config->stanowisko;
			if(empty($config->nazwisko) || empty($config->imie) || empty($config->imie) || empty($config->email) || empty($config->telefon) || empty($config->adres) || empty($config->kodpocztowy) || empty($config->miasto) )
			throw new Exception("Proszę uzupenic wszystkie pola by dane zostay uaktualnione!");
			if(!empty($config->nowe_haslo) && !empty($config->nowe_haslo2) && $config->nowe_haslo != $config->nowe_haslo2 )
			throw new Exception("Blednie wprowadzono nowe haso!");
			
			if(!empty($config->nowe_haslo) && empty($config->nowe_haslo2) )
			throw new Exception("Wprowadź poprawnie weryfikację hasa!");
			if(empty($config->nowe_haslo) && !empty($config->nowe_haslo2) )
			throw new Exception("Wprowadź poprawnie haso!");

			$__q_update_user = "UPDATE ".USERS." SET 
				nazwisko = ".tools::__mres($config->nazwisko).", 
				imie = ".tools::__mres($config->imie).",
				".(($config->__isset("nowe_haslo")&& !empty($config->nowe_haslo))?" md5_haslo = '".md5(trim($config->nowe_haslo))."',":"")." 
				email = ".tools::__mres($config->email).",
				telefon = ".tools::__mres($config->telefon).",
				adres = ".tools::__mres($config->adres).",
				kodpocztowy = ".tools::__mres($config->kodpocztowy).",
				miasto = ".tools::__mres($config->miasto).",
				firma = ".tools::__mres($config->firma).",
				nip = ".tools::__mres($config->nip).",
				stanowisko = ".tools::__mres($stanowisko)."
				WHERE id = ".tools::__mres($config->id);
			$__result = tools::__adodb("exec",$__q_update_user,true);
			return $__result;
		} catch (Exception $e) {
			$dispatcher->Panel_Komunikaty->err = $e->getMessage();
			return 0;
		}
	}
	
	public static function deleteUser($id){
		$q = "SELECT * FROM ".USERS." WHERE id = ".tools::__mres($id);
		$u = tools::__adodb("getRow",$q);
		if ($u['stanowisko'] != 'a'){			
			$__q_get_user_info = "DELETE FROM ".USERS." WHERE id = ".tools::__mres($id);
			$__user = tools::__adodb("exec",$__q_get_user_info);
		}
	}
	
	public static function blokujUzytkownika($id){
		$q = "SELECT * FROM ".USERS." WHERE id = ".tools::__mres($id);
		$u = tools::__adodb("getRow",$q);
		if ($u['stanowisko'] != 'a'){
			$blokada = ($u['stanowisko'] == 'u') ? 'b' : 'u';
			$q = "UPDATE ".USERS." SET 		
				stanowisko = '{$blokada}' 
				WHERE id = ".tools::__mres($id);
			return tools::__adodb("exec",$q,true);
		}		
	}
}
?>